﻿Imports Microsoft.VisualBasic
Imports System.Data
Imports System.ComponentModel
Public Class Estudios
    Inherits BDDatos
    Sub New()
        Me.Tabla = "Estudios"
        Me.Vista = "VEstudios"
    End Sub
    Public INSTITUCION As String
    Public TIPO_ESTUDIO As String
    Public TITULO_OBTENIDO As String
    Public FECHA_INGRESO As String
    Public FECHA_GRADO As String
    Public DURACION As Integer
    Public PERIODO As String
    Public IDPK As String
    Public Function Insert() As String
        Me.Conectar()
        Me.ComenzarTransaccion()
        Try
            Me.querystring = "Insert into ESTUDIOS(Cedula,Institucion,Tipo_Estudio, Titulo_Obtenido, Fecha_Ingreso, Fecha_Grado, Duracion, Periodo)" & _
            "Values(:Cedula,:Institucion,:Tipo_Estudio, :Titulo_Obtenido, :Fecha_Ingreso, :Fecha_Grado, :Duracion, :Periodo)"
            Me.CrearComando(querystring)
            Me.AsignarParametroCadena(":Institucion", UCase(Me.INSTITUCION))
            Me.AsignarParametroCadena(":Tipo_Estudio", Me.TIPO_ESTUDIO)
            Me.AsignarParametroCadena(":Titulo_Obtenido", UCase(Me.TITULO_OBTENIDO))
            Me.AsignarParametroCadena(":Fecha_Ingreso", Me.FECHA_INGRESO)
            Me.AsignarParametroCadena(":Fecha_Grado", Me.FECHA_GRADO)
            Me.AsignarParametroEntero(":Duracion", Me.DURACION)
            Me.AsignarParametroCadena(":Periodo", Me.PERIODO)
            Me.AsignarParametroCadena(":Cedula", Me.usuario)
            Me.num_reg = EjecutarComando()
            Me.Msg = "Se realizo la Operacion Exitosamente - " + num_reg.ToString + " Filas Afectadas"
            Me.lErrorG = False
            Me.ConfirmarTransaccion()
        Catch ex As Exception
            CancelarTransaccion()
            Me.lErrorG = True
            Me.Msg = "Err: " + ex.Message
        Finally
            Me.Desconectar()
        End Try
        Return Msg
    End Function
    Public Function Update() As String
        Me.Conectar()
        Me.ComenzarTransaccion()
        Try
            Me.querystring = "Update ESTUDIOS set Institucion=:Institucion,Tipo_Estudio=:Tipo_Estudio, Titulo_Obtenido=:Titulo_Obtenido, Fecha_Ingreso=:Fecha_Ingreso, Fecha_Grado=:Fecha_Grado, Duracion=:Duracion, Periodo=:Periodo Where Cedula=:Cedula And Id=:Id"
            Me.CrearComando(querystring)
            Me.AsignarParametroCadena(":Institucion", UCase(Me.INSTITUCION))
            Me.AsignarParametroCadena(":Tipo_Estudio", Me.TIPO_ESTUDIO)
            Me.AsignarParametroCadena(":Titulo_Obtenido", UCase(Me.TITULO_OBTENIDO))
            Me.AsignarParametroCadena(":Fecha_Ingreso", Me.FECHA_INGRESO)
            Me.AsignarParametroCadena(":Fecha_Grado", Me.FECHA_GRADO)
            Me.AsignarParametroEntero(":Duracion", Me.DURACION)
            Me.AsignarParametroCadena(":Periodo", Me.PERIODO)
            Me.AsignarParametroCadena(":Cedula", Me.usuario)
            Me.AsignarParametroCadena(":Id", Me.IDPK)
            Me.num_reg = EjecutarComando()
            Me.Msg = "Se realizo la Operacion Exitosamente - " + num_reg.ToString + " Filas Afectadas"
            Me.lErrorG = False
            Me.ConfirmarTransaccion()
        Catch ex As Exception
            CancelarTransaccion()
            Me.lErrorG = True
            Me.Msg = "Err: " + ex.Message
        Finally
            Me.Desconectar()
        End Try
        Return Msg
    End Function
    <DataObjectMethodAttribute(DataObjectMethodType.Select, True)> _
    Public Function GetxEgresado() As DataTable
        Me.Conectar()
        Me.querystring = "Select * from VESTUDIOS_ALL where cedula=:cedula"
        CrearComando(querystring)
        Me.AsignarParametroCadena(":cedula", Me.usuario)
        Dim dt As DataTable = EjecutarConsultaDataTable()
        Me.Desconectar()
        Return dt
    End Function
    <DataObjectMethodAttribute(DataObjectMethodType.Select, True)> _
    Public Function GetxEgresado(ByVal Cedula As String) As DataTable
        Me.Conectar()
        Me.querystring = "Select * from vestudios_all where cedula=:cedula order by Id"
        CrearComando(querystring)
        Me.AsignarParametroCadena(":cedula", Cedula)
        Dim dt As DataTable = EjecutarConsultaDataTable()
        Me.Desconectar()
        Return dt
    End Function
    <DataObjectMethodAttribute(DataObjectMethodType.Select, True)> _
    Public Function GetbyPK(ByVal Id As String) As DataTable
        Me.Conectar()
        Me.querystring = "Select * from ESTUDIOS where cedula=:cedula and Id=:Id"
        CrearComando(querystring)
        Me.AsignarParametroCadena(":cedula", Me.usuario)
        Me.AsignarParametroCadena(":Id", Id)
        Dim dt As DataTable = EjecutarConsultaDataTable()
        Me.Desconectar()
        Return dt
    End Function
    Public Function Delete(ByVal ID As String) As String
        Me.Conectar()
        Me.ComenzarTransaccion()
        Try
            Me.querystring = "Delete from ESTUDIOS where Id=:Id and Cedula=:Cedula"
            Me.CrearComando(querystring)
            Me.AsignarParametroDecimal(":Id", ID)
            Me.AsignarParametroCadena(":Cedula", Me.usuario)
            Me.num_reg = EjecutarComando()
            Me.Msg = "Se realizo la Operacion Exitosamente - " + num_reg.ToString + " Filas Afectadas"
            Me.lErrorG = False
            Me.ConfirmarTransaccion()
        Catch ex As Exception
            CancelarTransaccion()
            Me.lErrorG = True
            Me.Msg = "Err: " + ex.Message
        Finally
            Me.Desconectar()
        End Try
        Return Msg
    End Function
End Class
